import request from './request';

/**
 * 字典工具文件
 * 用于获取各种字典数据，便于复用
 */

/**
 * 获取字典数据
 * @param {string} dictType - 字典类型，如 'sjklx'
 * @param {boolean} includeAll - 是否包含"全部"选项，默认false
 * @returns {Promise<Array>} 返回字典数据数组
 */
export function getDictData(dictType, includeAll = false) {
  return new Promise((resolve, reject) => {
    request({
      url: `/system/dict/data/type/${dictType}`,
      method: 'get'
    }).then(res => {
      if (res.code === 200) {
        const dictData = res.data || [];
        let result = dictData.map(item => ({
          value: item.dictValue,
          label: item.dictLabel
        }));
        
        // 如果需要包含"全部"选项
        if (includeAll) {
          result = [
            { value: '', label: '全部' },
            ...result
          ];
        }
        
        resolve(result);
      } else {
        reject(new Error('获取字典数据失败'));
      }
    }).catch(error => {
      reject(error);
    });
  });
}
